﻿namespace ACEPAPI
{
    /// <summary>
    /// 开/关
    /// </summary>
    public enum Switch : byte
    {
        /// <summary>
        /// 关
        /// </summary>
        Off = 0x00,
        /// <summary>
        /// 开
        /// </summary>
        On = 0x01
    }

    /// <summary>
    /// 行间距类型
    /// </summary>
    public enum LineSpacingType
    {
        /// <summary>
        /// 默认(一倍)
        /// </summary>
        Default = 24,
        /// <summary>
        /// 双倍
        /// </summary>
        Double = 36,
        /// <summary>
        /// 三倍
        /// </summary>
        Triple = 48
    }

    /// <summary>
    /// 打印模式
    /// </summary>
    public enum PrintMode
    {
        /// <summary>
        /// 选择字体A(默认)
        /// </summary>
        Default = 0,
        /// <summary>
        /// 选择字体B
        /// </summary>
        FontB = 1,
        /// <summary>
        /// 加粗模式
        /// </summary>
        EmphasizedOn = 8,
        /// <summary>
        /// 双倍高度模式
        /// </summary>
        DoubleHeight = 16,
        /// <summary>
        /// 双倍宽度模式
        /// </summary>
        DoubleWidth = 32,
        /// <summary>
        /// 下划线模式
        /// </summary>
        UnderlineOn = 128
    }

    /// <summary>
    /// 下划线模式
    /// </summary>
    public enum UnderlineMode
    {
        /// <summary>
        /// 关闭下划线模式
        /// </summary>
        Off = 0,
        /// <summary>
        /// 开启下划线模式（1点粗）
        /// </summary>
        OneDotThick = 1,
        /// <summary>
        /// 开启下划线模式（2点粗）
        /// </summary>
        TwoDotsThick = 2
    }

    /// <summary>
    /// 字体
    /// </summary>
    public enum Font
    {
        /// <summary>
        /// Font A
        /// </summary>
        A = 0,
        /// <summary>
        /// Font B
        /// </summary>
        B = 1,
        /// <summary>
        /// Font C
        /// </summary>
        C = 2,
        /// <summary>
        /// Font D
        /// </summary>
        D = 3,
        /// <summary>
        /// Font E
        /// </summary>
        E = 4,
        /// <summary>
        /// 特殊字体A
        /// </summary>
        F = 97,
        /// <summary>
        /// 特殊字体B
        /// </summary>
        G = 98
    }

    /// <summary>
    /// 国际字符集
    /// </summary>
    public enum CharSet
    {
        /// <summary>
        /// 美国
        /// </summary>
        USA = 0,
        /// <summary>
        /// 法国
        /// </summary>
        France = 1,
        /// <summary>
        /// 德国
        /// </summary>
        Germany = 2,
        /// <summary>
        /// 英国
        /// </summary>
        UK = 3,
        /// <summary>
        /// 丹麦I
        /// </summary>
        DenmarkI = 4,
        /// <summary>
        /// 瑞典
        /// </summary>
        Sweden = 5,
        /// <summary>
        /// 意大利
        /// </summary>
        Italy = 6,
        /// <summary>
        /// 西班牙
        /// </summary>
        SpainI = 7,
        /// <summary>
        /// 日本
        /// </summary>
        Japan = 8,
        /// <summary>
        /// 挪威
        /// </summary>
        Norway = 9,
        /// <summary>
        /// 丹麦II
        /// </summary>
        DenmarkII = 10,
        /// <summary>
        /// 西班牙II
        /// </summary>
        SpainII = 11,
        /// <summary>
        /// 拉丁美洲
        /// </summary>
        LatinAmarerica = 12,
        /// <summary>
        /// 韩国
        /// </summary>
        Korea = 13,
        /// <summary>
        /// 斯洛文尼亚/克罗地亚
        /// </summary>
        SloveniaCroatia = 14,
        /// <summary>
        /// 中国
        /// </summary>
        China = 15,
        /// <summary>
        /// 越南
        /// </summary>
        Vietnam = 16,
        /// <summary>
        /// 阿拉伯
        /// </summary>
        Arabia = 17,
        /// <summary>
        /// 印度（Devanagari）
        /// </summary>
        IndiaDevanagari = 66,
        /// <summary>
        /// 印度（孟加拉）
        /// </summary>
        IndiaBengali = 67,
        /// <summary>
        /// 印度（泰米尔语）
        /// </summary>
        IndiaTamil = 68,
    }

    /// <summary>
    /// 标准模式下,字符的顺时针旋转90°模式
    /// </summary>
    public enum ClockwiseDirection
    {
        /// <summary>
        /// 关闭顺时针旋转90°模式
        /// </summary>
        Counterclockwise = 0,
        /// <summary>
        /// 打开顺时针旋转90°模式(1点字符间距)
        /// </summary>
        Clockwise = 1,
        /// <summary>
        /// 打开顺时针旋转90°模式(1.5点字符间距)
        /// </summary>
        Clockwise2 = 2
    }

    /// <summary>
    /// 打印颜色
    /// </summary>
    public enum PrintColor
    {
        /// <summary>
        /// 黑色
        /// </summary>
        Black = 0,
        /// <summary>
        /// 红色
        /// </summary>
        Red = 1
    }

    /// <summary>
    /// 字符码表
    /// </summary>
    public enum CodeTable
    {
        /// <summary>
        /// PC437：美国，欧洲标准
        /// </summary>
        USA = 0,
        /// <summary>
        /// 片假名
        /// </summary>
        Katakana = 1,
        /// <summary>
        /// PC850：多语言
        /// </summary>
        Multilingual = 2,
        /// <summary>
        /// PC860：葡萄牙语
        /// </summary>
        Portuguese = 3,
        /// <summary>
        /// PC863：加拿大-法国
        /// </summary>
        CanadianFrench = 4,
        /// <summary>
        /// PC865：北欧
        /// </summary>
        Nordic = 5,
        /// <summary>
        /// 平假名
        /// </summary>
        Hiragana = 6,
        /// <summary>
        /// 一次打印汉字字符1
        /// </summary>
        Kanji1 = 7,
        /// <summary>
        /// 一次打印汉字字符2
        /// </summary>
        Kanji2 = 8,
        /// <summary>
        /// PC851:希腊语
        /// </summary>
        Greek1 = 11,
        /// <summary>
        /// PC853: 土耳其1
        /// </summary>
        Turkish1 = 12,
        /// <summary>
        /// PC857:土耳其2
        /// </summary>
        Turkish2 = 13,
        /// <summary>
        /// PC737：希腊语
        /// </summary>
        Greek2 = 14,
        /// <summary>
        /// ISO8859-7:希腊语
        /// </summary>
        Greek3 = 15,
        /// <summary>
        /// Windows-1252
        /// </summary>
        Windows1252 = 16,
        /// <summary>
        /// 西里尔字母＃2
        /// </summary>
        Cyrillic = 17,
        /// <summary>
        /// 拉丁2
        /// </summary>
        Latin2 = 18,
        /// <summary>
        /// PC858：欧元
        /// </summary>
        OEM858 = 19,
        /// <summary>
        /// Page 254
        /// </summary>
        SpacePage1 = 254,
        /// <summary>
        /// Page 255
        /// </summary>
        SpacePage2 = 255
    }

    /// <summary>
    /// 字符宽度
    /// </summary>
    public enum CharSizeWidth
    {
        /// <summary>
        /// 正常
        /// </summary>
        Normal = 0,
        /// <summary>
        /// 双倍
        /// </summary>
        Double = 16,
        /// <summary>
        /// 三倍
        /// </summary>
        Triple = 32,
        /// <summary>
        /// 四倍
        /// </summary>
        Quadruple = 48,
        /// <summary>
        /// 五倍
        /// </summary>
        Quintuple = 64,
        /// <summary>
        /// 六倍
        /// </summary>
        Sextuple = 80,
        /// <summary>
        /// 七倍
        /// </summary>
        Septuple = 96,
        /// <summary>
        /// 八倍
        /// </summary>
        Octuple = 112
    }

    /// <summary>
    /// 字符高度
    /// </summary>
    public enum CharSizeHeight
    {
        /// <summary>
        /// 正常
        /// </summary>
        Normal = 0,
        /// <summary>
        /// 双倍
        /// </summary>
        Double = 1,
        /// <summary>
        /// 三倍
        /// </summary>
        Triple = 2,
        /// <summary>
        /// 四倍
        /// </summary>
        Quadruple = 3,
        /// <summary>
        /// 五倍
        /// </summary>
        Quintuple = 4,
        /// <summary>
        /// 六倍
        /// </summary>
        Sextuple = 5,
        /// <summary>
        /// 七倍
        /// </summary>
        Septuple = 6,
        /// <summary>
        /// 八倍
        /// </summary>
        Octuple = 7
    }

    /// <summary>
    /// 颜色
    /// </summary>
    public enum Color
    {
        /// <summary>
        /// 无
        /// </summary>
        None = 0,
        /// <summary>
        /// 颜色1
        /// </summary>
        Color1 = 1,
        /// <summary>
        /// 颜色2
        /// </summary>
        Color2 = 2,
        /// <summary>
        /// 颜色3
        /// </summary>
        Color3 = 3
    }

    /// <summary>
    /// 字符编码系统
    /// </summary>
    public enum EncodeSystem
    {
        /// <summary>
        /// 编码1
        /// </summary>
        Encode1 = 1,
        /// <summary>
        /// 编码2
        /// </summary>
        Encode2 = 2
    }

    /// <summary>
    /// 优先级
    /// </summary>
    public enum Priority
    {
        /// <summary>
        /// 第一
        /// </summary>
        First = 0,
        /// <summary>
        /// 第二
        /// </summary>
        Second = 1
    }

    /// <summary>
    /// 字体类型
    /// </summary>
    public enum FontType
    {
        /// <summary>
        /// ANK字体Sans serif
        /// </summary>
        ANKFont = 0,
        /// <summary>
        /// 日语字体Gothic
        /// </summary>
        JapaneseFont = 11,
        /// <summary>
        /// 简体中文字体Mincho
        /// </summary>
        SimplifiedChineseFont = 20,
        /// <summary>
        /// 繁体中文字体Mincho
        /// </summary>
        TraditionalChineseFont = 30,
        /// <summary>
        /// 韩文字体Gothic
        /// </summary>
        KoreanFont = 41
    }

    /// <summary>
    /// 页面模式下的打印方向
    /// </summary>
    public enum Direction
    {
        /// <summary>
        /// 从左到右
        /// </summary>
        LeftToRight = 48,
        /// <summary>
        /// 从下到上 
        /// </summary>
        BottomToTop = 49,
        /// <summary>
        /// 从右到左
        /// </summary>
        RightToLeft = 50,
        /// <summary>
        /// 从上到下
        /// </summary>
        TopToBottom = 51
    }

    /// <summary>
    /// 对齐方式
    /// </summary>
    public enum Justification
    {
        /// <summary>
        /// 左对齐
        /// </summary>
        Left = 0,
        /// <summary>
        /// 居中对齐
        /// </summary>
        Center = 1,
        /// <summary>
        /// 右对齐
        /// </summary>
        Right = 2
    }

    /// <summary>
    /// 切纸模式
    /// </summary>
    public enum PaperCutMode
    {
        /// <summary>
        /// 全部切割
        /// </summary>
        FullCut = 0,
        /// <summary>
        /// 部分切割
        /// </summary>
        PartialCut = 1,
        /// <summary>
        /// 送纸并全部切割
        /// </summary>
        FullCutFeeds = 65,
        /// <summary>
        /// 送纸并部分切割
        /// </summary>
        PartialCutFeeds = 66,
        /// <summary>
        /// 设置全部切割位置
        /// </summary>
        FullCutSetPosition = 97,
        /// <summary>
        /// 设置部分切割位置
        /// </summary>
        PartialCutSetPosition = 98,
        /// <summary>
        /// 进纸并全部切割,然后进纸至打印开始位置
        /// </summary>
        FullCutFeedsStart = 103,
        /// <summary>
        /// 进纸并部分切割,然后进纸至打印开始位置
        /// </summary>
        PartialCutFeedsStart = 104
    }

    /// <summary>
    /// 传输实体状态类型
    /// </summary>
    public enum RealtimeStatus
    {
        /// <summary>
        /// 打印机状态
        /// </summary>
        Printer = 1,
        /// <summary>
        /// 离线原因状态
        /// </summary>
        Offline = 2,
        /// <summary>
        /// 错误原因状态
        /// </summary>
        Error = 3,
        /// <summary>
        /// 卷纸传感器状态
        /// </summary>
        RollPaperSensor = 4
    }

    /// <summary>
    /// HRI字符位置
    /// </summary>
    public enum HRIPosition
    {
        /// <summary>
        /// 不打印
        /// </summary>
        NotPrinted = 0,
        /// <summary>
        /// 条码上方
        /// </summary>
        AboveBarcode = 1,
        /// <summary>
        /// 条码下方
        /// </summary>
        BelowBarcode = 2,
        /// <summary>
        /// 条形码上方和下方
        /// </summary>
        BothAboveAndBelow = 3
    }

    /// <summary>
    /// 条形码类型
    /// </summary>
    public enum BarCodeType
    {
        /// <summary>
        /// UPC-A
        /// </summary>
        UPC_A = 65,
        /// <summary>
        /// UPC-E
        /// </summary>
        UPC_E = 66,
        EAN13,
        EAN8,
        CODE39,
        ITF,
        CODABAR,
        CODE93,
        CODE128
    }

    /// <summary>
    /// 二维码模型
    /// </summary>
    public enum QRCodeModel
    {
        Model1 = 49,
        Model2
    }

    /// <summary>
    /// 二维码纠错
    /// </summary>
    public enum QRCodeCorrection
    {
        Percent7 = 48,
        Percent15,
        Percent25,
        Percent30
    }

    /// <summary>
    /// 二维码尺寸
    /// </summary>
    public enum QRCodeSize
    {
        Tiny = 2,
        Small,
        Normal,
        Large
    }

    /// <summary>
    /// 自动状态返回类型
    /// </summary>
    public enum ASBType : int
    {
        /// <summary>
        /// 启用收银抽屉状态
        /// </summary>
        DrawerStatus=1,
        /// <summary>
        /// 启用在线状态
        /// </summary>
        OnlineStatus=2,
        /// <summary>
        /// 启用错误状态
        /// </summary>
        ErrorStatus=4,
        /// <summary>
        /// 启用纸张状态
        /// </summary>
        PaperStatus=8,
        /// <summary>
        /// 启用按钮状态
        /// </summary>
        SwitchStatus=64
    }
}
